home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The 640 MEG Shareware Studio 2
/
The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO
/
comm
/
otto11.zip
/
OTTO.DOC
< prev
next >
Wrap
Text File
|
1992-02-12
|
22KB
|
518 lines
╔══════════════════════╗
║ Welcome to Otto! ║
║ Ver 1.1 2/12/92 ║
║ (c) 1992 RSE Inc ║
╚══════════════════════╝
Otto lets you automate a wide variety of tasks. I created it to help me
take advantage of Compuserve's new basic features but it can be used for
virtually anything.
If you use "Autosig" as your communications program you can see for
yourself what Otto can do. Use any ASCII editor to edit the first few
lines of "DOALL" to reflect what subdirectory AUTOSIG.EXE resides in.
Then enter "otto doall" at the DOS prompt. (If for any reason you want
to abort the process press both shift keys at the same time) Otto will
send out your e-mail (if you have any), gather your e-mail, get some
stock quotes, get the latest news and sport scores, download some weather
maps, and get the latest weather forecast. And Otto can do all this
unattended at 5 AM so its all waiting for you when you wake up!
Although this "DOALL" script only works for users of "Autosig", later on
we will discuss how you can modify "DOALL" to work with your
communications program. And of course we will discuss how you can create
your own scripts thereby automating virtually any task!
The bad news is Otto uses scripts. If you've tried writing scripts
before you know what a pain it can be. The *good* news is that Otto has
just a few simple script commands making it very easy to learn and use.
The *GREAT* news is that Otto also has a script recorder that creates
scripts on the fly as you go about doing the task you want to automate!
It records what you're doing as you're doing it. Once Otto creates the
script you can go back and edit it to make any desired changes. Sure
beats trying to create scripts from scratch.
Some of you may be familiar with our "Playback" program which is also a
task automator. Playback records your keystrokes with the delays intact
and lets you turn these "keyfiles" into small .COM programs. You can
playback they keyfiles via hot key, from the DOS prompt, from the MENU
program or at some specified times. The MENU program also lets you add
notes to your keyfiles, adjust their playback, edit them and much more.
But the point is Playback makes it's decisions on when to stuff
keystrokes based on the delays between keystrokes.
On the other hand, Otto bases its decisions primarily on what appears on
the screen. This is good for situations where the delays between
keyboard inputs may vary from use to use (like using your modem). On the
other hand, since you can only read text from a text screen, Otto works
best when the application you're using is text based and not graphics
based. On the plus side, Otto can incorporate decision making whereas
Playback can't. For example if you try to log-on but the line is busy,
Otto can have the program re-dial instead of pressing ahead as tho the
connection had been made. If Otto doesn't fit your needs chances are
Playback will. You can find Playback in Library 3 of Compuserve's IBMSYS
forum with the name PB??.EXE with ?? being the latest version number.
== How Much? ==
Otto is shareware. As such you are given the program without obligation
in order to evaluate it. If after a 3 week evaluation you decide to
continue using it then you are obligated to become a registered user.
You register by sending $19.95 + $1 shipping (add $1 for 3.5 disk,
$5 for overseas orders) to:
RSE Otto Registration | Visa or Mastercard
1157 57th Drive SE | Call or FAX (206) 939-4105
Auburn, WA 98002 | Compuserve: 72371,1557
As a registered user you'll get the following additional benefits:
1. Technical support and the latest version of Otto.
2. The unregistered versions of some of our other shareware
programs including Playback, Nabbit, FileNotes, Remind Me!,
Trash-It, BriteLine, and others.
3. No more "please register" messages.
Because Otto is shareware you're encouraged to give copies of it to
others as long as you don't modify the program or these instructions and
you don't charge for the copies. The only exception to the last rule is
for shareware vendors who may charge a reasonable distribution fee.
== Getting Started ==
* Put OTTO.COM in one of the subdirectories listed in the PATH statement in
your AUTOEXEC.BAT file.
=== Creating your own scripts ===
== Definitions: ===
The following symbols are used in the format description of the various
commands:
[message] specifies data that appears on the screen. Must be
enclosed quotes.
[delay] delay in seconds
[evaluator] must be either "=" or "<>"
[label] specifies a location in the script. Must be less than
eight characters long and be enclosed within "*"s. For
example: *GetMail*
[location] You tell Otto where on the screen to look for a message
in a variety of ways. If you specify "cursor" then Otto
looks for the message directly in front of the cursor. For example if
your screen looks like this:
Enter Name: _
then the cursor message could be "Enter Name: ", "Name: ", ": ", or even
" ". Notice I always included the space right in front of the cursor.
Therefore the command:
waitfor cursor "Name: "
would wait until "name: "appears directly before the cursor. The
uppercase/lowercase status of the message is irrelevant as the "message"
comparison is case insensitive.
You can also specify the message location by screen location. Enclose
the coordinates in ROW,COLUMN format within (). For example:
waitfor (4,0) "City: "
would wait until "City: " appears at row 4, column 0.
Both rows and columns begin at 0, therefore the upper left corner of the
screen would be (0,0). If you're more comfortable using COLUMN, ROW
than ROW, COLUMN then use DEBUG to change byte 0F hex of OTTO.COM to a
value of 1.
You can also specify message location in offsets from the cursor
location. You do this by specifying + or - for values that are to be
cursor offsets. For example:
waitfor (-1,+2) "message"
would wait until "message" appeared at cursor row -1 and cursor column
+2. You MUST use a + or - to signify an offset. Let's say you want to
specify the message location as the same column as the cursor but two
rows up. You would use (-2,+0). If you used (-2,0) then Otto would look
two rows up but at column 0 since the lack of a + or - on the 0
signifies the 0 is an absolute location. Make sure you understand the
following examples:
(3,1) Row 3, Column 1
(0,-3) Row 0, Cursor column-3
(+0,-3) Cursor row, Cursor column-3
(-1,-2) Cursor row-1, Cursor column-2
(+2,3) Cursor row+2, Column 3
== Some ground rules ==
* Otto only looks at the first letter of each command. Therefore the
command: waitfor cursor "message"
could be abbreviated to: w c "message"
* You must leave a space between each component of the message:
w c "message" ;would be correct
wc "message" ;would generate an error.
* Use only one command per line, except for " ; " which allows you to add
comments to your scripts.
The following are the script commands. Hopefully between the
explanations, examples, and sample scripts you can figure out what's
going on.
} WAITFOR Format: waitfor [location] [message]
waitfor [delay]
Waits for a condition to be met. The condition can be either a delay
(specified in seconds) or a "message" match.
Examples:
waitfor cursor "message" ;wait until "message" appears directly
;before cursor
waitfor (0,3) "message" ;wait until "message" appears at Row 0, Col 3
waitfor (-2,+0) "message" ;wait until "message" appears at cursor row-2
;and cursor column
waitfor 2.5 ;wait for 2.5 seconds
} IF/THEN Format: if [location] [evaluator] [message] then *label*
If the conditions are met Otto jumps to the line after *label*.
The "then" portion is optional. "<>" means not equal.
Examples:
if cursor = "message" then *GetMail*
if (0,3) = "message" then *GetStock*
if (-2,+0) <> "message" then *GetNews*
} JUMP Format: jmp *label*
Jumps to the line following *label*.
Example: jmp *GetMail* ;jumps to line after *GetMail* line
} GOSUB Format: gosub *label*
Goes to *label* but returns when "return" is encountered.
Example: gosub *getmail*
} RETURN Format: return
Returns from a gosub routine. In other words, returns to the line after
the line that "gosub"ed to this routine.
} CALL Format: call "script"
Runs the script file specified. When that script ends then Otto returns
to the next line of this (the calling) script.
} END Format: End
MUST be used to signal the end of a script.
} ; Format: ;
Used to add comments to your scripts. Otto ignores everything after the
semicolon.
} Stuffing keystrokes Format: "keystrokes"
Takes the keystrokes enclosed within quotes and stuffs them into the
keyboard. Use | to specify a carriage return. Characters after the |
(carriage return) will be ignored so put them on a new line.
Examples:
"scott chaney" stuffs "scott chaney" with no carriage return
"go mail|" stuffs "go mail" and follows with carriage return
"Φ14 helloΦ15 Φ15 world|" PgDn "hello" RtArw RtArw "world" carriage
return. See below.
You can add special keys like Escape, the function keys, the cursor
keys, and others, into your scripts by using a special notation. The
process for inserting a special key is:
* Hold down the Alt Key
* enter 232 on the numeric keypad
* release the Alt key
* enter the number of the special key as indicated in the following table
* follow your input with a space
== Special Character Table ==
To enter a special character: Enter Alt-232, enter the character # (as
derived from this table) and follow the input with a space.
Examples: Alt-F3 = Φ43 Ctrl-PgDn = Φ34 Alt-J = Φ92 Esc = Φ53
Normal Ctrl Alt Shift │ Alt Alt Alt
F1 1 21 41 61 │ 1 71 A 83 N 96
F2 2 22 42 62 │ 2 72 B 84 O 97
F3 3 23 43 63 │ 3 73 C 85 P 98
F4 4 24 44 64 │ 4 74 D 86 Q 99
F5 5 25 45 65 │ 5 75 E 87 R 100
F6 6 26 46 66 │ 6 76 F 88 S 101
F7 7 27 47 67 │ 7 77 G 89 T 102
F8 8 28 48 68 │ 8 78 H 90 U 103
F9 9 29 49 69 │ 9 79 I 91 V 104
F10 10 30 50 70 │ 0 80 J 92 W 105
│ - 81 K 93 X 106
Home 11 31 │ = 82 L 94 Y 107
End 12 32 │ M 95 Z 108
PgUp 13 33
PgDn 14 34
RtArw 15 35
LfArw 16 36
UpArw 17
DnArw 18
Ins 19
Del 20
Tab 51 60
BS 52 ;try non-special character: (alt 8) first
Esc 53 ;try non-special character: (Alt 27) first
== Shift States ==
There may be times when special keys are not enough. Some programs don't
look for the special keys when looking for Ctrl and/or Alt key
combinations. Instead they examine a "shift status" byte in memory that
tells them if the Ctrl and/or Alt keys are being pressed. Then they look
in the buffer to see which key has been pressed with it. In these cases
they won't act on the special keys unless the "shift status" byte signals
that Ctrl and/or Alt have been pressed. Therefore Otto lets you change
this "shift status" byte. To change the shift status byte:
1. Press Alt and while holding it down enter 212 on the numeric keypad.
This produces the character: ╘
2. Then enter 1 for Alt, 2 for Ctrl, and 3 for Ctrl and Alt. Use 0 to
set things back to normal.
3. Follow your input with a space.
IMPORTANT: Make sure you always reset the "shift status" byte back to 0
when you're done by using: ╘0 (alt-212 zero)
Example: "╘3 D╘0" would simulate Ctrl-Alt-D being pressed.
In the above example "╘3 " signals Ctrl and Alt both being pressed, then
the D key is entered, then the shift state is reset using "╘0 ".
=== Recording a script ===
You could create your own scripts from scratch, but it's a lot easier to
have Otto record a script for you. Then you need only go in and massage
a few items in order to get it to run correctly.
* To record a script run Otto using the "/r" command line switch.
Example: Otto new1 /r
* To start recording press Ctrl-LShft-RShft. You'll hear an ascending
series of tones which indicate the recording has begun.
* To stop recording press either LShft-RShft or Ctrl-LShft-RShft again.
You'll hear a descending series of tones indicating the recording has
stopped.
You may stop a recording and then start it again. If you do, the new
recording will be appended to the end of the previous recording.
A new line is created in the script file every time the Enter key is
pressed -or- whenever a delay between keystrokes exceeds 3 seconds.
Therefore on single key inputs (like pressing Y or N for a Yes/No
response) it's best to wait three seconds before pressing the key.
Chances are your recorded scripts won't run correctly until you "massage"
them a little. The reason is that Otto doesn't know what's important and
what isn't. He always assumes that the cursor message is the critical
item. Often it's not. In addition, at times there are critical delays
that are important. Otto won't pick up on those either. Here are some
hints for getting your scripts to run correctly:
* Before you do anything print out your script so you can follow along as
it replays and you can see where it is hanging up.
* Check the "waitfor cursor" messages to see if they are what Otto should
be waiting for. It may well be that Otto should be waiting for a message
that appears elsewhere on the screen.
* Otto doesn't record delays between inputs, so check the script to see
if there are any delays you need to insert between keystrokes or inputs.
* If your Escapes and/or Backspaces aren't working correctly then you may
want to subsitute "Φ53 " for "" (Escape) or "Φ52 " for "" (backspace).
* And lastly, make sure a new "waitfor" line is created whenever you need
one. Remember, a new "waitfor" line is only created when you press the
Enter key or the delay between keystrokes exceeds 3 seconds. That's why
for those single key inputs (function keys, cursor keys, Y/N responses,
etc..) where you want "waitfor" lines generated you need to wait three
seconds before pushing the key.
=== Running a script ===
To begin running a script:
* Move to the subdirectory where the script file is located
* enter "OTTO filename" where "filename" is the name of the script file
you want to run.
You MUST move to the subdirectory where the script file is located when
you enter the "OTTO ..." command. DO NOT specify the full pathname of
the script file.
== Aborting the running of a script ==
You can abort the running of a script by pressing the Left Shift key and
the Right Shift key at the same time.
== Hot key activation ==
There may be times when you don't want the script to begin immediately
but would like it to start when you press a hot key. You do this by
using the "/h" command line option when you start the program. For
example, entering "otto store /h" tells Otto not to begin stuffing the
STORE file until you press the hot key. The hot key is: Ctrl-LShift-
RShift. In other words, if you use the "/h" (h for "h"ot key activation)
command line option you initiate the running of the script by pressing
the Ctrl key and both shift keys all at the same time.
== Time activated scripts ==
If you'd like the running of your script to begin automatically at some
later time you use the command line option "/####" where #### is a four
digit number designating the time you want the stuffing to begin. The
#### must be in 24 hour military time (3am = 0300, 11:30pm = 2330) and
MUST be 4 digits long. For example, entering "otto doall /0200" would
cause the "DOALL" script to begin activating automatically at 2am.
== Key stuffing speed ==
Normally Otto stuffs keys at the rather slow pace of 18 characters a
second. The reason is that some programs take keystrokes out of the
buffer faster that they can use them (go figure?) and this "slow" speed
may give them time to catch up before the next keystroke comes.
However, if you live on the wild side you might want to stuff the
keystrokes in faster. You do this by using the "/f" (f for fast) command
line option. Otto will then stuff the keystokes in at about 145
characters a second.
== Uninstalling Otto ==
Otto is a small TSR that uses only about 7K of RAM. Once you run it,
this 7K portion of the program remains in memory until you re-boot or
uninstall it using the "/u" command line option. In other words, to
uninstall Otto enter "otto /u" at the DOS prompt. You MUST remove TSR's
in the reverse order in which they were loaded or you may lock up your
computer, thus requiring a re-boot.
== The script display line ==
You'll notice that when you run your scripts Otto often displays the
current script line in the upper right corner of the screen. This can be
invaluable when it comes time for you to check out your scripts. Only
"waitfor" commands are displayed. Otto acts upon all the other commands
so fast that you wouldn't see them even if they were displayed. Because
many programs use the top row of the display for menu selections we
elected to have Otto display the script lines on the second row.
You can turn off the script display by using the "/w" command line
option.
=== Sample Scripts ===
The following sample scripts have been supplied for your use: DOALL,
GETNEWS, GETSTOCK, GETMAP, and WEATHER. Users of "Autosig" will only
have to make small changes to get them to work correctly. If you use
another communications program then you'll need to make some more
changes, primarily concerning how downloads are initiated and concluded.
I've put notes in the script files indicating what sections are "Autosig"
unique and will need changing.
By the way, "Autosig" is a great program that excels in handling e-mail
and forum message traffic. If your communications program doesn't
automate e-mail operations then you'll definitely want to get your hands
on "Autosig". You can find it in the "AUTOSIG" library of the IMBCOM
forum on Compuserve. And the best part? The program is free, therefore
your only cost will be the cost of downloading it.
The script files can be a real aid in learning how to use the script
commands. You might want to evaluate them until you can understand
exactly what is going on.
== Help ==
If you forget any of Otto's command line options, just enter "otto /?" at
the DOS prompt and Otto will provide you with a summary.
== Problems ==
"Your scripts don't run on my computer" The scripts are designed for
users of "Autosig" and even then will need some minor modifications to
run correctly. However, all these differences are specified within the
scripts themselves, making it easy for you to make the changes necessary
to have them run with your communications program.
"I just recorded a script and it doesn't run correctly." Several things
to try: first try running the script with the /s command line option in
order to slow it down. Secondly, you might want to try replacing the
Escape and/or backspace characters with their special character
equivalents (Esc:change to Φ53 ,BS:change to Φ52 ).
"My scripts still don't work" Check the ground rules mentioned at the
start of the script command descriptions. In addition, triple check all
your syntax and make sure everything is in accordance with the rules
specified. For programmers it is often habit to use commands or command
syntax that is not correct for Otto. For example, there is a tendency to
end an IF/THEN command with another command instead of a label. Big no
no.
== Technical Support ==
Registered users can call (206) 939-4105 for technical support or contact
us on CIS: 72371,1557
Software design is an evolutionary process. A good program is always
being updated to correct bugs and add new features. If you'd like to
tell us how we could make Otto better please send us a letter or e-mail.
Although we can't respond personally to your letters I do guarantee your
suggestions will be seriously considered.
== Thanks ==
Thank you for your time. I hope you find Otto helpful and worthy of your
support.
== Legal ==
Otto is copyrighted 1992 by RSE Inc. "Otto" is an unregistered
trademark of RSE Inc.
RSE Inc. specifically disclaims all warranties pertaining to this
software. The software is released "as is".